const app = getApp()
// 导入API工具
import { goodsAPI } from '../../utils/api';

Page({
  data: {
    goods: null,
    currentImageIndex: 0,
    imageList: [],
    loading: true, // 加载状态
    error: false, // 错误状态
    errorMsg: '' // 错误信息
  },

  onLoad: function(options) {
    console.log('详情页加载，商品ID:', options.id);
    
    if (!options.id) {
      this.setData({
        loading: false,
        error: true,
        errorMsg: '商品ID不存在'
      });
      return;
    }
    
    // 从API获取商品详情
    this.loadGoodsDetail(options.id);
  },
  
  // 加载商品详情
  loadGoodsDetail: function(goodsId) {
    this.setData({ loading: true, error: false });
    
    goodsAPI.getGoodsDetail(goodsId)
      .then(res => {
        console.log('获取商品详情成功:', res);
        
        if (res.success && res.data) {
          // 处理图片列表并添加完整的服务器地址
          let imageList = res.data.images && res.data.images.length > 0 
            ? res.data.images 
            : [res.data.image || '/pages/tabBar/home.png'];
          
          // 为所有图片添加完整的服务器地址
          imageList = imageList.map(img => {
            if (img && img.startsWith('/')) {
              return 'http://localhost:3000' + img;
            }
            return img;
          });
          
          // 处理商品对象中的图片路径
          const goodsWithFullImagePath = {
            ...res.data,
            image: res.data.image && res.data.image.startsWith('/') 
              ? 'http://localhost:3000' + res.data.image 
              : res.data.image
          };
          
          this.setData({
            goods: goodsWithFullImagePath,
            imageList: imageList,
            loading: false
          });
        } else {
          this.setData({
            loading: false,
            error: true,
            errorMsg: res.message || '获取商品详情失败'
          });
          wx.showToast({
            title: res.message || '获取商品详情失败',
            icon: 'none'
          });
        }
      })
      .catch(err => {
        console.error('获取商品详情失败:', err);
        this.setData({
          loading: false,
          error: true,
          errorMsg: '网络错误，请稍后重试'
        });
        wx.showToast({
          title: '网络错误，请稍后重试',
          icon: 'none'
        });
      });
  },

  // 切换主图
  switchMainImage: function(e) {
    const index = e.currentTarget.dataset.index;
    this.setData({
      currentImageIndex: index
    });
  },



  // 联系客服
  contactService: function() {
    wx.showToast({
      title: '正在连接客服',
      icon: 'none'
    });
    // 这里可以添加跳转到客服页面或调用客服接口的逻辑
  },

  // 立即购买
  buyNow: function() {
    const { goods } = this.data;
    
    if (!goods) {
      wx.showToast({
        title: '商品信息加载失败',
        icon: 'none'
      });
      return;
    }
    
    console.log('购买商品:', goods.title);
    
    // 准备传递给订单详情页的商品信息
    const goodsInfo = {
      id: goods.id,
      title: goods.title,
      price: goods.price,
      image: goods.image || (goods.images && goods.images[0]),
      details: goods.details || goods.description
    };
    
    // 跳转到订单详情页
    wx.navigateTo({
      url: '/pages/order/order?goodsInfo=' + JSON.stringify(goodsInfo)
    });
  },
  
  // 重试加载
  retryLoad: function() {
    const goodsId = this.data.goods ? this.data.goods.id : '';
    if (goodsId) {
      this.loadGoodsDetail(goodsId);
    } else {
      // 从页面参数中重新获取ID
      const pages = getCurrentPages();
      const currentPage = pages[pages.length - 1];
      const goodsId = currentPage.options.id;
      if (goodsId) {
        this.loadGoodsDetail(goodsId);
      }
    }
  }
});